package com.entmanage.base.collegeco.mapper;

import java.util.List;

import com.entmanage.base.collegeco.domain.CollegecoEvalTemplateItem;
import com.entmanage.base.collegeco.domain.CollegecoEvalTemplate;
import org.apache.ibatis.annotations.Mapper;

/**
 * 实习评分标准模板库（主）Mapper接口
 *
 * @author lsq
 * @date 2025-08-01
 */
public interface CollegecoEvalTemplateMapper
{
    /**
     * 查询实习评分标准模板库（主）
     *
     * @param templateId 实习评分标准模板库（主）主键
     * @return 实习评分标准模板库（主）
     */
    public CollegecoEvalTemplate selectHrmEvalTemplateByTemplateId(Long templateId);

    /**
     * 查询实习评分标准模板库（主）列表
     *
     * @param hrmEvalTemplate 实习评分标准模板库（主）
     * @return 实习评分标准模板库（主）集合
     */
    public List<CollegecoEvalTemplate> selectHrmEvalTemplateList(CollegecoEvalTemplate hrmEvalTemplate);

    /**
     * 新增实习评分标准模板库（主）
     *
     * @param hrmEvalTemplate 实习评分标准模板库（主）
     * @return 结果
     */
    public int insertHrmEvalTemplate(CollegecoEvalTemplate hrmEvalTemplate);

    /**
     * 修改实习评分标准模板库（主）
     *
     * @param hrmEvalTemplate 实习评分标准模板库（主）
     * @return 结果
     */
    public int updateHrmEvalTemplate(CollegecoEvalTemplate hrmEvalTemplate);

    /**
     * 删除实习评分标准模板库（主）
     *
     * @param templateId 实习评分标准模板库（主）主键
     * @return 结果
     */
    public int deleteHrmEvalTemplateByTemplateId(Long templateId);

    /**
     * 批量删除实习评分标准模板库（主）
     *
     * @param templateIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHrmEvalTemplateByTemplateIds(Long[] templateIds);

    /**
     * 批量删除评分模板-评分项明细
     *
     * @param templateIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHrmEvalTemplateItemByTemplateIds(Long[] templateIds);

    /**
     * 批量新增评分模板-评分项明细
     *
     * @param hrmEvalTemplateItemList 评分模板-评分项明细列表
     * @return 结果
     */
    public int batchHrmEvalTemplateItem(List<CollegecoEvalTemplateItem> hrmEvalTemplateItemList);


    /**
     * 通过实习评分标准模板库（主）主键删除评分模板-评分项明细信息
     *
     * @param templateId 实习评分标准模板库（主）ID
     * @return 结果
     */
    public int deleteHrmEvalTemplateItemByTemplateId(Long templateId);


    List<CollegecoEvalTemplateItem> selectHrmEvalTemplateItemList(CollegecoEvalTemplateItem item);
}
